package com.admin_system.service;

import com.admin_system.entity.MergeResponse;
import org.springframework.core.io.Resource;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface DocumentMergeService {

    /**
     * 合并文档
     * @param paperFiles 试卷文件列表
     * @param answerFiles 答案文件列表
     * @param outputFormat 输出格式
     * @param mergeOrder 合并顺序
     * @return 任务响应
     */
    MergeResponse mergeDocuments(List<MultipartFile> paperFiles, List<MultipartFile> answerFiles,
                                 String outputFormat, String mergeOrder);

    /**
     * 获取任务状态
     * @param taskId 任务ID
     * @return 任务响应
     */
    MergeResponse getTaskStatus(String taskId);

    /**
     * 下载合并后的文档
     * @param taskId 任务ID
     * @return 文档资源
     */
    Resource downloadMergedDocument(String taskId);
    
    /**
     * 检查Python服务状态
     * @return 服务状态信息
     */
    Map<String, Object> checkPythonServiceStatus();
    
    /**
     * 强制清理临时文件和过期任务
     * @return 清理结果
     */
    Map<String, Object> cleanupTempFiles();
} 